package pe.gob.minam.sismon.core.business;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import pe.gob.minam.sismon.core.base.business.BaseBusiness;
import pe.gob.minam.sismon.core.dao.SegPerfilDao;
import pe.gob.minam.sismon.core.domain.GnrSistema;
import pe.gob.minam.sismon.core.domain.SegPerfil;
import pe.gob.minam.sismon.core.util.ExceptionCore;

@Component("segPerfilBusiness")
public class SegPerfilBusiness implements BaseBusiness<SegPerfil>{

	@Autowired
	private SegPerfilDao segPerfilDao;
	@Override
	public SegPerfil insertar(SegPerfil e) throws ExceptionCore {
		return segPerfilDao.insertar(e);
	}

	@Override
	public SegPerfil actualizar(SegPerfil e) throws ExceptionCore {
		return segPerfilDao.actualizar(e);
	}

	@Override
	public Integer eliminar(Object id) throws ExceptionCore {
		return segPerfilDao.eliminar(id);
	}

	@Override
	public SegPerfil obtener(Object id) throws ExceptionCore {
		return segPerfilDao.obtener(id);
	}

	@Override
	public List<SegPerfil> listar() throws ExceptionCore {
		return segPerfilDao.listar();
	}
	
	public List<SegPerfil> listarPorSistema(GnrSistema gnrSistema) throws ExceptionCore {
		return segPerfilDao.listarPorSistema(gnrSistema);
	}

	public List<SegPerfil> listarPorCriterios(Integer idSistema,
			String nombreCorto, String nombreLargo, String estado) throws ExceptionCore {
		return segPerfilDao.listarPorSistema(idSistema,nombreCorto,nombreLargo,estado);
	}

}
